package org.linlinjava.litemall.db.dao;

import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface StatMapper {
    List<Map<String, Object>> statUser();

    List<Map<String, Object>> statOrder();

    List<Map<String, Object>> statGoods();

    // ===== 统计单场活动的开团参团数据 start ======
    List<Map<String, Object>> statGrouponsTotalByActivityId(@Param("activityId") Integer activityId);
    List<Map<String, Object>> statGrouponsCaptainMemberByActivityId(@Param("activityId") Integer activityId);
    // ===== 统计单场活动的开团参团数据 end ======

    List<Map<String, Object>> statStatisticsByActivityId(@Param("relType") Byte relType, @Param("relId") Integer relId);

    // ===== 统计单场活动的订单和各维度的数据 start ====
    List<Map<String, Object>> statOrdersByActivityId(@Param("activityId") Integer activityId);
    List<Map<String, Object>> statOrderDimensionByActivityId(@Param("activityId") Integer activityId);
    // ===== 统计单场活动的订单和各维度的数据 end ====

    List<Map<String, Object>> statActivityStatisticsByDate();
    List<Map<String, Object>> statActivityStatisticsByWeek();
    List<Map<String, Object>> statActivityStatisticsByMonth();
    List<Map<String, Object>> statActivityStatisticsByQuarter();
    List<Map<String, Object>> statActivityStatisticsByYear();

    List<Map<String, Object>> statActivityOrdersByDate();
    List<Map<String, Object>> statActivityOrdersByWeek();
    List<Map<String, Object>> statActivityOrdersByMonth();
    List<Map<String, Object>> statActivityOrdersByQuarter();
    List<Map<String, Object>> statActivityOrdersByYear();


}